home *** CD-ROM | disk | FTP | other *** search
/ Ham Radio 2000 / Ham Radio 2000.iso / ham2000 / logs / logbook / dxcc.prg < prev    next >
Text File  |  1990-05-04  |  7KB  |  210 lines

  1. *:*********************************************************************
  2. *:
  3. *:        Program: DXCC.PRG
  4. *:
  5. *:         System: PC-HAM Logbook
  6. *:         Author: Joe Kasser G3ZCZ
  7. *:      Copyright (c) 1990, Joe Kasser
  8. *:  Last modified: 05/04/90     13:45
  9. *:
  10. *:      Called by: LOGAWARD.PRG                  
  11. *:
  12. *:          Calls: DXCC5BGN.PRG
  13. *:               : LOGCHNGE.PRG
  14. *:               : DXCCSB.PRG
  15. *:               : DXCCPXED.PRG
  16. *:               : DXCC5B.PRG
  17. *:               : DXCCPXAD.PRG
  18. *:               : DXCCPRNT.PRG
  19. *:               : DXCCUPDT.PRG
  20. *:               : DXCCMAN.PRG
  21. *:
  22. *:           Uses: &DXCC          
  23. *:
  24. *:      Documented 05/04/90 at 13:49                SNAP!  version 3.12f
  25. *:*********************************************************************
  26. STORE ' ' TO dtask
  27. DO WHILE dtask <> '*'
  28.    CLEAR
  29.    SET COLOR TO W+/R,W+/RB,BG+
  30.    @ 3,5 SAY  'G3ZCZ DXCC AWARD PACKAGE Version 2.1'
  31.    SET COLOR TO GR+/B,W+/RB,BG+
  32.    @ 5,1  SAY 'Default DXCC database is '
  33.    SET COLOR TO W+/R,W+/RB,BG+
  34.    @ 5,26 SAY TRIM(dxcc)
  35.    SET COLOR TO GR+/B,W+/RB,BG+
  36.    @ 6,1 SAY 'Default LOG database is'
  37.    SET COLOR TO W+/R,W+/RB,BG+
  38.    @ 6,26 SAY TRIM(logbook)
  39.    SET COLOR TO GR+/B,W+/RB,BG+
  40.    @  9,1 SAY 'UPDATE DXCC RECORDS  (Automatic)            U'
  41.    @ 10,1 SAY 'UPDATE DXCC RECORDS  (Manual)               M'
  42.    @ 11,1 SAY 'CREATE A NEW DXCC DATABASE                  C'
  43.    @ 12,1 SAY 'CREATE 5BDXCC RECORDS                       5'
  44.    @ 13,1 SAY 'PRINT DXCC RECORDS                          P'
  45.    @ 14,1 SAY 'ADD PREFIXES TO A DXCC DATABASE             A'
  46.    @ 15,1 SAY 'CHANGE DXCC DATABASE                        D'
  47.    @ 16,1 SAY 'EDIT PREFIXES IN DXCC RECORD FILE           E'
  48.    @ 17,1 SAY 'CHANGE LOGBOOK                              L'
  49.    @ 18,1 SAY 'UPDATE SINGLE BAND DXCC RECORD (Automatic)  S'
  50.    @ 19,1 SAY 'DISPLAY DATA FOR A PREFIX/COUNTRY           X'
  51.    @ 20,1 SAY 'DISPLAY FILES ON DISK DRIVE                 F'
  52.    @ 21,1 SAY 'QUIT THIS MENU                              *'
  53.    @ 22,1 SAY 'QRU'
  54.    @ 22,5 GET dtask
  55.    READ
  56.    
  57.    IF dtask = 'F'
  58.       CLEAR
  59.       ACCEPT 'WHICH DRIVE ' TO diskdrive
  60.       diskdrive = SUBSTR(diskdrive,1,1)
  61.       STORE diskdrive + ':' TO diskdrive
  62.       DISPLAY Files ON &diskdrive
  63.       RELEASE diskdrive
  64.       WAIT
  65.    ENDIF
  66.    
  67.    IF dtask = 'D'
  68.       @ 22,1 SAY 'Which DXCC file ?'
  69.       @ 22,20 GET dxcc
  70.       READ
  71.       IF FILE(dxcc+'.DBF')
  72.          @ 22,1 SAY '                          '
  73.       ELSE
  74.          ? 'WARNING, file',dxcc,' does not exist on default disk'
  75.          WAIT
  76.       ENDIF
  77.    ENDIF
  78.    
  79.    IF dtask = 'C'
  80.       STORE 'DXCC' TO dxcc
  81.       IF FILE(dxcc+'.DBF')
  82.          STORE '           ' TO BLANK
  83.          ACCEPT 'What is the name of the new DXCC file ? ' TO dxcc
  84.          ?
  85.          DO dxcc5bgn
  86.       ELSE
  87.          ? 'ERROR, Blank file DXCC.DBF does not exist on default disk'
  88.          WAIT
  89.       ENDIF
  90.    ENDIF
  91.    
  92.    IF dtask = 'L'
  93.       DO logchnge
  94.    ENDIF
  95.    
  96.    IF dtask = '*'
  97.       * DO NOTHING
  98.    ELSE
  99.       IF FILE (dxcc+'.DBF')
  100.          *FILE EXISTS
  101.          DO CASE
  102.             
  103.          CASE dtask = 'S'
  104.             DO dxccsb
  105.             
  106.          CASE dtask = 'E'
  107.             DO dxccpxed
  108.             
  109.          CASE dtask = '5'
  110.             DO dxcc5b
  111.             
  112.          CASE dtask = 'A'
  113.             DO dxccpxad
  114.             
  115.          CASE dtask = 'P'
  116.             CLEAR
  117.             STORE ' ' TO choice
  118.             @ 5,1 SAY ' '
  119.             ACCEPT 'All PXs,Worked/QSL-d,or QSL-d (P,W,Q) ? ' TO choice
  120.             @ 10,1 SAY ' '
  121.             IF choice = 'P' .or. choice = 'W' .or. choice = 'Q'
  122.                STORE ' ' TO pf
  123.                ACCEPT 'Do you want hard copy (Y/N) ? ' TO pf
  124.                DO dxccprnt
  125.             ELSE
  126.                ? choice,' IS NOT VALID, ENTER  P or W  or Q only please '
  127.             ENDIF
  128.             WAIT
  129.             
  130.          CASE dtask = 'U'
  131.             IF logbook = '      '
  132.                @ 23,1  SAY 'OPEN A LOGBOOK FIRST'
  133.                WAIT
  134.             ELSE
  135.                IF FILE (logbook+'.DBF')
  136.                   DO dxccupdt
  137.                ELSE
  138.                   @ 23,1 SAY 'ERROR, NO LOGBOOK PRESENT ON DEFAULT DRIVE'
  139.                   WAIT
  140.                ENDIF
  141.             ENDIF
  142.             
  143.          CASE dtask = 'M'
  144.             IF logbook = '      '
  145.                @ 23,1  SAY 'OPEN A LOGBOOK FIRST'
  146.                WAIT
  147.             ELSE
  148.                IF FILE (logbook+'.DBF')
  149.                   DO dxccman
  150.                ELSE
  151.                   @ 23,1 SAY 'ERROR, NO LOGBOOK PRESENT ON DEFAULT DRIVE'
  152.                   WAIT
  153.                ENDIF
  154.             ENDIF
  155.             
  156.          CASE dtask = 'X'
  157.             CLEAR
  158.             STORE '    ' TO epx
  159.             USE &dxcc
  160.             GOTO BOTTOM
  161.             STORE RECNO() TO lastpx
  162.             DO WHILE epx <> '*'
  163.                @ 8,1 SAY ' CURRENT DXCC FILE IS'
  164.                @ 8,25 SAY dxcc
  165.                @ 10,1 SAY ' Which Prefix  (* to terminate) ? '
  166.                @ 10,35 GET epx
  167.                READ
  168.                STORE .t. TO fpx
  169.                IF epx <> '*'
  170.                   LOCATE FOR px = TRIM(epx)
  171.                   IF RECNO() = lastpx
  172.                      *ERROR OR LAST PREFIX
  173.                      LOCATE FOR px1 = TRIM(epx)
  174.                      IF RECNO() < lastpx
  175.                         STORE .F. TO fpx
  176.                      ENDIF
  177.                   ELSE
  178.                      STORE .F. TO fpx
  179.                   ENDIF
  180.                   IF fpx
  181.                      @ 12,1  SAY 'ERROR  ???'
  182.                      ?? '                                              '
  183.                   ELSE
  184.                      SET COLOR TO W+/R,W+/RB,BG+
  185.                      @ 12,1 SAY Country
  186.                      @ 12,11 SAY ' '
  187.                      ?? px,px1,dcall,ddate,dtime,dband,dmode,dstate
  188.                      SET COLOR TO GR+/B,W+/RB,BG+
  189.                   ENDIF
  190.                ENDIF
  191.             ENDDO
  192.             USE
  193.             RELEASE epx,fpx,lastpx
  194.             
  195.          CASE dtask = 'L' .or. dtask = 'C' .or. dtask = 'D' .or. dtask = 'F'
  196.             * DO NOTHING, INHIBIT OTHERWISE BRANCH HERE
  197.             
  198.          OTHERWISE
  199.             ? 'ERROR, DXCC DATABASE does not exist on default disk'
  200.             WAIT
  201.          ENDCASE
  202.       ENDIF
  203.    ENDIF
  204. ENDDO
  205. STORE ' ' TO dtask
  206. USE
  207. RELEASE thisband,  dtask
  208. RETURN
  209. *: EOF: DXCC.PRG
  210.